什么是反向 DNS?使用场景是什么?如何反向DNS查找,怎样配置?
点击上方蓝字关注 👆👆
大家好,我是大白。DNS很基础,但日常生活又离不开它,本文针对反向DNS(rDNS)展开~
什么是反向 DNS?
DNS 的用途通常是将域名解析为 IP 地址。这被称为正向解析,我们每次访问互联网上的站点时都会执行此操作。顾名思义,反向 DNS(或rDNS)是一种将 IP 地址解析为域名的方法。
反向 DNS 的使用
rDNS主要用于确保邮件交换记录的有效性,用于拦截邮件服务系统中的垃圾邮件。
一般情况下,垃圾邮件发送者使用动态分配的 IP 地址或者没有注册域名的 IP 地址来发送垃圾邮件,通过反向解析可以判断邮件的合法性。当邮件服务器收到邮件时,邮件服务器会查看邮件由哪个 IP 地址发出,然后根据这个 IP 地址进行反向解析,如果反向解析得到的域名与发送方邮件的域名不一致则认为邮件发送者不是从真正的邮件服务器发出,则可以拒绝接收此邮件。比如当 me@qq.com
收到一份来自 fake@163.com
的邮件时,qq邮件服务器会查看邮件来源的 IP,根据 IP 进行反向解析,如果解析到的域名和 163.com
一致,则接收邮件,否则认为邮件来源 IP 伪造成了163服务器 IP ,则拒绝这封邮件。
尽管 rDNS 记录可以阻止垃圾邮件,但主要用作额外保护,它不是一种可靠的方法。需要注意的是,仅启用 rDNS 仍可能由于各种原因导致消息被拒绝。此外,rDNS 还用于分析和日志记录,帮助提供人们可读的数据,而不是完全由 IP 地址组成的日志。
反向 DNS 查找过程
由于正向 DNS 将主机名映射到 IP 地址,因此 rDNS(或反向 DNS)表明将服务器 IP 地址映射回主机名。
使用 rDNS,将 IP 地址反转,然后将in-addr.arpa
添加到末尾。
例如,如果我们使用 IPv4 地址 142.250.192.196
,使用 rDNS,它将变为 196.192.250.142.in-addr.arpa
这种 IP 地址进行反向 DNS 解析的方法用到的是 PTR 记录。如果域有 PTR 记录,我们可以使用下面提到的方法进行 rDNS 查找。
执行 rDNS 查找
许多在线工具可用于执行 rDNS 查找,例如:
MXToolbox.com[1] Whatismyip.com[2] IPLocation.net[3]
还可以从命令行手动执行 rDNS 查找。在 Linux 中,使用dig
命令加-x
参数。Windows中使用nslookup
命令,也可以使用ping -a
。
Linux中示例如下:
dig -x 114.114.114.114
输出:
; <<>> DiG 9.11.4-P2-RedHat-9.11.4-16.P2.el8 <<>> -x 114.114.114.114
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 22576
;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 13, ADDITIONAL: 17
;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 4096
; COOKIE: 33d2a6a18768f09113da3aff61e97842fc1359ae9077046b (good)
;; QUESTION SECTION:
;114.114.114.114.in-addr.arpa. IN PTR
;; ANSWER SECTION:
114.114.114.114.in-addr.arpa. 388 IN PTR public1.114dns.com.
;; AUTHORITY SECTION:
. 59433 IN NS k.root-servers.net.
. 59433 IN NS d.root-servers.net.
. 59433 IN NS f.root-servers.net.
. 59433 IN NS b.root-servers.net.
. 59433 IN NS g.root-servers.net.
. 59433 IN NS i.root-servers.net.
. 59433 IN NS m.root-servers.net.
. 59433 IN NS c.root-servers.net.
. 59433 IN NS a.root-servers.net.
. 59433 IN NS j.root-servers.net.
. 59433 IN NS l.root-servers.net.
. 59433 IN NS e.root-servers.net.
. 59433 IN NS h.root-servers.net.
;; ADDITIONAL SECTION:
b.root-servers.net. 602786 IN AAAA 2001:500:200::b
f.root-servers.net. 602843 IN AAAA 2001:500:2f::f
g.root-servers.net. 76912 IN AAAA 2001:500:12::d0d
i.root-servers.net. 256494 IN AAAA 2001:7fe::53
k.root-servers.net. 257105 IN AAAA 2001:7fd::1
l.root-servers.net. 440012 IN AAAA 2001:500:9f::42
m.root-servers.net. 77161 IN AAAA 2001:dc3::35
b.root-servers.net. 256829 IN A 199.9.14.201
d.root-servers.net. 87824 IN A 199.7.91.13
f.root-servers.net. 602843 IN A 192.5.5.241
g.root-servers.net. 76966 IN A 192.112.36.4
h.root-servers.net. 406981 IN A 198.97.190.53
i.root-servers.net. 602628 IN A 192.36.148.17
k.root-servers.net. 67413 IN A 193.0.14.129
l.root-servers.net. 440012 IN A 199.7.83.42
m.root-servers.net. 602928 IN A 202.12.27.33
;; Query time: 83 msec
;; SERVER: 10.8.255.1#53(10.8.255.1)
;; WHEN: Thu Jan 20 22:57:06 HKT 2022
;; MSG SIZE rcvd: 668
可以在ANSWER SECTION看到完整的rDNS PTR记录的IP,返回子域名public1.114dns.com.
:
114.114.114.114.in-addr.arpa. 388 IN PTR public1.114dns.com.
如何配置反向DNS记录?
如果是自己搭建的DNS服务器,可以参考其他文章做此配置。
这里用`ucloud`域名提供商[4]举例:
假如需要使用反向DNS解析Zone的VPC为10.9.0.0/16,那么需要创建的Zone名为:
9.10.in-addr.arpa
假如需要添加10.9.2.1,对应的域名为www.kubeinfo.cn[5] ,那么需要添加PTR主机记录:
1.2.9.10.in-addr.arpa
对应值为
www.kubeinfo.cn
即可配置生效。
参考资料
MXToolbox.com: https://mxtoolbox.com/ReverseLookup.aspx
[2]Whatismyip.com: https://www.whatismyip.com/reverse-dns-lookup/
[3]IPLocation.net: https://www.iplocation.net/reverse-dns
[4]ucloud
: https://passport.ucloud.cn/?invitation_code=C1x7820C0768867
www.kubeinfo.cn: www.kubeinfo.cn
👇扫码关注,更多好文第一时间收到👇